Skip to content

GAP-015: el racional de T-001, y la línea que sí tenía era falsa - #101

Merged
beyondnetPeru merged 1 commit into
developfrom
docs/t-001-rationale
Aug 2, 2026
Merged

GAP-015: el racional de T-001, y la línea que sí tenía era falsa#101
beyondnetPeru merged 1 commit into
developfrom
docs/t-001-rationale

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

GAP-015 pide el racional técnico de T-001. Verificarlo produjo un segundo hallazgo que la fila no menciona: la única línea que la entrada sí tenía era inexacta.

Lo que decía, y lo que es

Decía «Inicializado en src/ utilizando npm workspaces con Nx».

Ningún package.json de este repositorio declara un campo workspaces — comprobado sobre todos ellos. Nunca se usaron. Nx orquesta por grafo de proyectos: project.json más los plugins de inferencia @nx/vite, @nx/webpack, @nx/eslint y @nx/jest, declarados en src/nx.json.

Eso importa más que la ausencia del racional: quien leyera la entrada buscaría un array workspaces, no lo encontraría, y concluiría razonablemente que el monorepo está mal configurado — cuando lo cierto es que está configurado de otra manera.

Las tres razones, en el orden que decidió

  1. El repositorio no es homogéneo. tracker-api es .NET, y npm workspaces enlaza node_modules entre paquetes npm: no tiene opinión sobre un .csproj ni puede ordenar un dotnet build frente a un vite build. Habría cubierto tres proyectos de cuatro dejando fuera al mayor.
  2. Inferencia antes que declaración, porque una lista de targets escrita a mano deriva — el mismo modo de fallo que ya costó tiempo en GT-647 (listas de paquetes Docker), GT-640 (snapshot mantenido a mano) y ADR T-038 (contrato transcrito).
  3. nx affected vale lo que valgan sus aristas. Sin ellas, «ejecuta lo que cambió» degenera en «ejecuta todo» y se va el valor que justificaba el monorepo.

Y el coste, porque un ADR sin contrapartidas es propaganda

Nx pineado en ^22.7.5 convierte una subida mayor en un evento de todo el repositorio, no de un paquete. Ese es el intercambio aceptado a cambio de un solo grafo sobre cuatro proyectos heterogéneos.

La entrada de DECISIONS.md queda corregida en ambos idiomas y enlazada al ADR.

Verificación

validate-docs, check-bilingual-parity, doc-inventory --check y check-gap-registry en verde; registro intacto (mismos 107 IDs). Resultado del board: 8 OPEN, 1 DEFERRED, 98 RESOLVED.

🤖 Generated with Claude Code

…ea que tenia era falsa

`GAP-015` pide el racional tecnico de T-001. Verificarlo produjo un segundo hallazgo
que la fila no menciona: **la unica linea que la entrada SI tenia era inexacta.**

Decia «Inicializado en `src/` utilizando npm workspaces con Nx». Ningun `package.json`
de este repositorio declara un campo `workspaces` — comprobado sobre todos ellos. Nunca
se usaron. Nx orquesta por GRAFO DE PROYECTOS: `project.json` mas los plugins de
inferencia `@nx/vite`, `@nx/webpack`, `@nx/eslint` y `@nx/jest` declarados en
`src/nx.json`.

Eso importa mas que la ausencia del racional: quien leyera la entrada buscaria un array
`workspaces`, no lo encontraria, y concluiria razonablemente que el monorepo esta mal
configurado — cuando lo cierto es que esta configurado de otra manera.

El ADR registra las tres razones, en el orden que decidio:

1. El repositorio NO es homogeneo. `tracker-api` es .NET, y npm workspaces enlaza
   `node_modules` entre paquetes npm: no tiene opinion sobre un `.csproj` ni puede
   ordenar un `dotnet build` frente a un `vite build`. Habria cubierto tres proyectos de
   cuatro dejando fuera al mayor.
2. Inferencia antes que declaracion, porque una lista de targets escrita a mano deriva —
   el mismo modo de fallo que ya costo tiempo en `GT-647`, `GT-640` y `ADR T-038`.
3. `nx affected` vale lo que valgan sus aristas; sin ellas, «ejecuta lo que cambio»
   degenera en «ejecuta todo» y se va el valor que justificaba el monorepo.

Se registra tambien el COSTE, que un ADR sin contrapartidas es propaganda: Nx pineado en
`^22.7.5` hace de una subida mayor un evento de todo el repositorio.

La entrada de `DECISIONS.md` queda corregida en ambos idiomas y enlazada al ADR.

Verificado: `validate-docs`, `check-bilingual-parity`, `doc-inventory --check` y
`check-gap-registry` en verde; registro intacto (mismos 107 IDs). Resultado del board:
8 OPEN, 1 DEFERRED, 98 RESOLVED.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru merged commit e7ccefc into develop Aug 2, 2026
5 checks passed
@beyondnetPeru
beyondnetPeru deleted the docs/t-001-rationale branch August 2, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant